import type { App } from 'vue';

/**
 * 这个文件将会扫描src的子目录中以component-install.ts结尾的文件，并调用其中的setupComp函数注册模块的全局组件
 */

// 模块组件注册器-全局
const moduleSetupComps = import.meta.globEager('./**/*-component-install.ts');

/** 全局组件注册函数 */
export function setupComp(app: App<Element>) {
  // 注册模块的公用组件-全局
  Object.keys(moduleSetupComps).forEach((key) => {
    try {
      moduleSetupComps[key].default(app);
    } catch (error) {
      console.error(`注册模块全局组件失败. ${key}  ${error}`);
    }
  });
}
